Dim C
Public Sub SearchDir(sDir As String, Ex As String, Str As String, TV As TreeView)
On Error GoTo err
TV.Nodes.Clear
File = sDir & Dir(sDir & Ex)
If File   Then
    SearchInFile File, Str, TV
End If
Do While Right(File, 1)  
    File = sDir & Dir
    If File   Then
SearchInFile File, Str, TV
    End If
Loop
err
 Exit Sub
End Sub
Public Sub SearchInFile(ByVal File As String, SStr As String, TV As TreeView)
On Error GoTo err
FileName = File
FN = FreeFile
Open FileName For Input As FN
MainName = File & C  ''''
    Do While Not EOF(FN)
        Ln = Ln + 1     'Line Number
        Line Input #FN, LineX
        Result = InStr(LineX, SStr)
        If Result  0 Then     'If Find any word
            MailN = MailN + 1
            If MailN = 1 Then
                TV.Nodes.Add , , MainName, FileName
                C = C + 1
            End If
            TV.Nodes.Add MainName, 4, MainName & Line & Ln, Line =  & Ln &    & LineX
        End If
    Loop
Close #FN
'                   Error Sub
err
If Right(FileName, 1) =  Then
Exit Sub
End If
        Exit Sub
End Sub

